qglxconvenience_nullptr
authorDebian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Fri, 9 Feb 2018 13:40:07 +0000 (13:40 +0000)
committerDmitry Shachnev <mitya57@debian.org>
Fri, 9 Feb 2018 13:40:07 +0000 (13:40 +0000)
Gbp-Pq: Name qglxconvenience_nullptr.diff

src/platformsupport/glxconvenience/qglxconvenience.cpp

index 8c26550c1e85150d439f30111933edf0c2399b48..74b7c634734618b2634ee2c2887aaf496bd30eca 100644 (file)
@@ -164,7 +164,8 @@ bool QXcbSoftwareOpenGLEnforcer::forceSoftwareOpenGL = false;
 template <class T>
 struct QXlibScopedPointerDeleter {
     static inline void cleanup(T *pointer) {
-        XFree(pointer);
+        if (pointer)
+            XFree(pointer);
     }
 };
 
@@ -202,6 +203,8 @@ GLXFBConfig qglx_findConfig(Display *display, int screen , QSurfaceFormat format
             GLXFBConfig candidate = configs[i];
 
             QXlibPointer<XVisualInfo> visual(glXGetVisualFromFBConfig(display, candidate));
+            if (visual.isNull())
+                continue;
 
             const int actualRed = qPopulationCount(visual->red_mask);
             const int actualGreen = qPopulationCount(visual->green_mask);